草庐IT

TypeScript算法题实战——剑指 Offer篇(1)

全部标签

javascript - 使用 Webpack 时 Typescript 编译器 "cannot find module"需要 CSS/图像 Assets

我正在编写vanillaJavascript,但使用Typescript编译器的checkJs选项在VSCode中进行类型检查。我将Webpack设置为加载各种Assets类型(CSS、图像等),这对于构建工作正常,但代码将这些语句视为错误。例如,在这段代码中require("bootstrap");require("bootstrap/dist/css/bootstrap.css");varimg=require("../img/image.png");第一行很好,但接下来的两行都在require()的(字符串)参数下显示错误,工具提示为“找不到模块(名称)”。我已经安装了@type

javascript - 什么是 "PropTypes.oneOf"的 TypeScript 等效项(将变量限制为值的子集)

在React中,我可以将变量限制为值的子集,例如PropTypes.oneOf(['Home','About']),我如何在TypeScript中执行此操作?PS:我没有在React中使用TypeScript。 最佳答案 您可以通过定义uniontype来组合静态字符串(或任何常规类型):typeSomeType='Home'|'About';或者在一个界面中:interfaceSomeType{prop:'Home'|'About';}当然你也可以组合其他类型:typeSomeType=string|boolean;

javascript - 误报 "Lexical declarations require ECMAScript 6"和 "TypeScript 1.x feature. Current language is 1.4"错误消息

在将TypeScript更新到版本1.7(目前最新版本)后,我一直看到Resharper指出错误,例如在使用namespace、const和let,即使这个版本的TypeScript应该支持它们。例如:TypeScript1.x功能。当前语言是1.4和词法声明(let和const)需要ECMAScript6编译器目标。当前目标是ECMAScript5。 最佳答案 我的Resharper(10.0.1)版本似乎无法检测到TypeScript版本。要解决此问题,您可以手动指定版本。由于此版本的Resharper(发布时为最新版本)不支持

javascript - 为什么 TypeScript 会为类生成 IIFE?

这个问题在这里已经有了答案:UnderstandingJavascriptgeneratedbyTypescriptcompiler(2个答案)关闭5年前。查看此TypeScript代码:classGreeter{greet(){}}它围绕构造函数和所有原型(prototype)函数声明生成一个IIFE(立即调用函数表达式),例如:varGreeter=(function(){functionGreeter(){}Greeter.prototype.greet=function(){};returnGreeter;}());这里的优势是什么?每当我读到IIFE时,我都会看到很多关于定义

javascript - JQuery 选择器问题——如何找到目标 = _blank 的所有 HREF?

我的“JQuerySelectorFoo”很臭。我需要找到目标属性为_blank的所有HREF,并将它们替换为通用窗口/目标。非常感谢您的帮助! 最佳答案 $("a[target='_blank']").attr('target','sometarget');你是说类似的意思吗? 关于javascript-JQuery选择器问题——如何找到目标=_blank的所有HREF?,我们在StackOverflow上找到一个类似的问题: https://stackov

javascript - 包裹在 pre 标签中的 Json 结果——如何获取它的值(value)

这是我第一次使用json。我正在尝试从我的操作方法中返回Json:publicJsonResultUpload(){...returnJson(new{foo="sos....sos....sos..."});}但结果我得到的只是我的消息包装在这个“pre”标签中。如何从中解析“foo”?"{"foo":"sos....sos....sos..."}" 最佳答案 我认为您收到包含在pre标记中的数据的原因是因为您请求的数据是HTML而不是纯文本或json。尝试将数据类型指定为json以停止将响应转换为HTML。

javascript - 在 TypeScript 中使用 React.findDOMNode

我正在关注ReactTutorial并卡在如何使用React.findDOMNode上.这是我的代码:exportclassCommentFormextendsReact.Component{handleSubmit(e:React.FormEvent){e.preventDefault();console.log(React.findDOMNode(this.refs['author']));}render(){returnthis.handleSubmit(e)}>;}}调用console.log(React.findDOMNode(this.refs['author']));还我

javascript - define 未在 nodejs typescript 应用程序中定义

我正在使用typescript开发nodejs应用程序,我在其中编写了一个文件server.js作为休闲:importexpress=require('express');importmongoose=require('mongoose');letapp=express();app.set('port',process.env.PORT||3000);//Setportto3000ortheprovidedPORTvariable/***Startapp*/app.listen(app.get('port'),function(){console.log(`Applisteningon

javascript - 为什么 typescript 允许在声明变量之前使用它?

Typescript不会为以下代码给出编译器错误:varb=a+10;//Whynocompilationerrorherevara=10;alert(b.toString());我希望第一行是一个错误,因为我到现在为止还没有声明或初始化vara。如果我删除第二行,我会得到编译器错误。我知道它在JavaScript中有效,但我希望TypeScript给我编译错误或警告。 最佳答案 因为hoistingbehavior可能会令人困惑。你的代码实际上意味着。vara,bb=a+10a=10alert(b.toString())有正当理由

TypeScript 文件中的 JavaScript 智能感知

是否只能通过引用具有自己编码接口(interface)的.ts文件来获取TypeScript文件中的智能感知?是否有针对现有JavaScript库的解决方案? 最佳答案 您可以通过在脚本顶部使用外部脚本引用指令来获取其他TypeScript文件的IntelliSense:///附带说明一下,TypeScriptIntelliSense引用指令不像JavaScript引用指令那样支持波浪号运算符。例如,如果您的脚本位于“~/Scripts/foo/”,在JavaScript中您可以引用:///而在TypeScript中,您必须相对于当